﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x020003DF RID: 991
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class DisplayRelicInfo : IMessage<DisplayRelicInfo>, IMessage, IEquatable<DisplayRelicInfo>, IDeepCloneable<DisplayRelicInfo>, IBufferMessage
	{
		// Token: 0x17000CB0 RID: 3248
		// (get) Token: 0x06002C47 RID: 11335 RVA: 0x0007A36F File Offset: 0x0007856F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<DisplayRelicInfo> Parser
		{
			get
			{
				return DisplayRelicInfo._parser;
			}
		}

		// Token: 0x17000CB1 RID: 3249
		// (get) Token: 0x06002C48 RID: 11336 RVA: 0x0007A376 File Offset: 0x00078576
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return DisplayRelicInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17000CB2 RID: 3250
		// (get) Token: 0x06002C49 RID: 11337 RVA: 0x0007A388 File Offset: 0x00078588
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return DisplayRelicInfo.Descriptor;
			}
		}

		// Token: 0x06002C4A RID: 11338 RVA: 0x0007A38F File Offset: 0x0007858F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public DisplayRelicInfo()
		{
		}

		// Token: 0x06002C4B RID: 11339 RVA: 0x0007A3A4 File Offset: 0x000785A4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public DisplayRelicInfo(DisplayRelicInfo other) : this()
		{
			this.level_ = other.level_;
			this.tid_ = other.tid_;
			this.subAffixList_ = other.subAffixList_.Clone();
			this.exp_ = other.exp_;
			this.type_ = other.type_;
			this.mainAffixId_ = other.mainAffixId_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06002C4C RID: 11340 RVA: 0x0007A415 File Offset: 0x00078615
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public DisplayRelicInfo Clone()
		{
			return new DisplayRelicInfo(this);
		}

		// Token: 0x17000CB3 RID: 3251
		// (get) Token: 0x06002C4D RID: 11341 RVA: 0x0007A41D File Offset: 0x0007861D
		// (set) Token: 0x06002C4E RID: 11342 RVA: 0x0007A425 File Offset: 0x00078625
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Level
		{
			get
			{
				return this.level_;
			}
			set
			{
				this.level_ = value;
			}
		}

		// Token: 0x17000CB4 RID: 3252
		// (get) Token: 0x06002C4F RID: 11343 RVA: 0x0007A42E File Offset: 0x0007862E
		// (set) Token: 0x06002C50 RID: 11344 RVA: 0x0007A436 File Offset: 0x00078636
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Tid
		{
			get
			{
				return this.tid_;
			}
			set
			{
				this.tid_ = value;
			}
		}

		// Token: 0x17000CB5 RID: 3253
		// (get) Token: 0x06002C51 RID: 11345 RVA: 0x0007A43F File Offset: 0x0007863F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RelicAffix> SubAffixList
		{
			get
			{
				return this.subAffixList_;
			}
		}

		// Token: 0x17000CB6 RID: 3254
		// (get) Token: 0x06002C52 RID: 11346 RVA: 0x0007A447 File Offset: 0x00078647
		// (set) Token: 0x06002C53 RID: 11347 RVA: 0x0007A44F File Offset: 0x0007864F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Exp
		{
			get
			{
				return this.exp_;
			}
			set
			{
				this.exp_ = value;
			}
		}

		// Token: 0x17000CB7 RID: 3255
		// (get) Token: 0x06002C54 RID: 11348 RVA: 0x0007A458 File Offset: 0x00078658
		// (set) Token: 0x06002C55 RID: 11349 RVA: 0x0007A460 File Offset: 0x00078660
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Type
		{
			get
			{
				return this.type_;
			}
			set
			{
				this.type_ = value;
			}
		}

		// Token: 0x17000CB8 RID: 3256
		// (get) Token: 0x06002C56 RID: 11350 RVA: 0x0007A469 File Offset: 0x00078669
		// (set) Token: 0x06002C57 RID: 11351 RVA: 0x0007A471 File Offset: 0x00078671
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint MainAffixId
		{
			get
			{
				return this.mainAffixId_;
			}
			set
			{
				this.mainAffixId_ = value;
			}
		}

		// Token: 0x06002C58 RID: 11352 RVA: 0x0007A47A File Offset: 0x0007867A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as DisplayRelicInfo);
		}

		// Token: 0x06002C59 RID: 11353 RVA: 0x0007A488 File Offset: 0x00078688
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(DisplayRelicInfo other)
		{
			return other != null && (other == this || (this.Level == other.Level && this.Tid == other.Tid && this.subAffixList_.Equals(other.subAffixList_) && this.Exp == other.Exp && this.Type == other.Type && this.MainAffixId == other.MainAffixId && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06002C5A RID: 11354 RVA: 0x0007A518 File Offset: 0x00078718
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Level != 0U)
			{
				num ^= this.Level.GetHashCode();
			}
			if (this.Tid != 0U)
			{
				num ^= this.Tid.GetHashCode();
			}
			num ^= this.subAffixList_.GetHashCode();
			if (this.Exp != 0U)
			{
				num ^= this.Exp.GetHashCode();
			}
			if (this.Type != 0U)
			{
				num ^= this.Type.GetHashCode();
			}
			if (this.MainAffixId != 0U)
			{
				num ^= this.MainAffixId.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06002C5B RID: 11355 RVA: 0x0007A5C9 File Offset: 0x000787C9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06002C5C RID: 11356 RVA: 0x0007A5D1 File Offset: 0x000787D1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06002C5D RID: 11357 RVA: 0x0007A5DC File Offset: 0x000787DC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.Level != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.Level);
			}
			if (this.Exp != 0U)
			{
				output.WriteRawTag(24);
				output.WriteUInt32(this.Exp);
			}
			this.subAffixList_.WriteTo(ref output, DisplayRelicInfo._repeated_subAffixList_codec);
			if (this.MainAffixId != 0U)
			{
				output.WriteRawTag(48);
				output.WriteUInt32(this.MainAffixId);
			}
			if (this.Tid != 0U)
			{
				output.WriteRawTag(56);
				output.WriteUInt32(this.Tid);
			}
			if (this.Type != 0U)
			{
				output.WriteRawTag(104);
				output.WriteUInt32(this.Type);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06002C5E RID: 11358 RVA: 0x0007A69C File Offset: 0x0007889C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Level != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Level);
			}
			if (this.Tid != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Tid);
			}
			num += this.subAffixList_.CalculateSize(DisplayRelicInfo._repeated_subAffixList_codec);
			if (this.Exp != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Exp);
			}
			if (this.Type != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Type);
			}
			if (this.MainAffixId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.MainAffixId);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06002C5F RID: 11359 RVA: 0x0007A750 File Offset: 0x00078950
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(DisplayRelicInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Level != 0U)
			{
				this.Level = other.Level;
			}
			if (other.Tid != 0U)
			{
				this.Tid = other.Tid;
			}
			this.subAffixList_.Add(other.subAffixList_);
			if (other.Exp != 0U)
			{
				this.Exp = other.Exp;
			}
			if (other.Type != 0U)
			{
				this.Type = other.Type;
			}
			if (other.MainAffixId != 0U)
			{
				this.MainAffixId = other.MainAffixId;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06002C60 RID: 11360 RVA: 0x0007A7ED File Offset: 0x000789ED
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06002C61 RID: 11361 RVA: 0x0007A7F8 File Offset: 0x000789F8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 34U)
				{
					if (num == 8U)
					{
						this.Level = input.ReadUInt32();
						continue;
					}
					if (num == 24U)
					{
						this.Exp = input.ReadUInt32();
						continue;
					}
					if (num == 34U)
					{
						this.subAffixList_.AddEntriesFrom(ref input, DisplayRelicInfo._repeated_subAffixList_codec);
						continue;
					}
				}
				else
				{
					if (num == 48U)
					{
						this.MainAffixId = input.ReadUInt32();
						continue;
					}
					if (num == 56U)
					{
						this.Tid = input.ReadUInt32();
						continue;
					}
					if (num == 104U)
					{
						this.Type = input.ReadUInt32();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x0400118A RID: 4490
		private static readonly MessageParser<DisplayRelicInfo> _parser = new MessageParser<DisplayRelicInfo>(() => new DisplayRelicInfo());

		// Token: 0x0400118B RID: 4491
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400118C RID: 4492
		public const int LevelFieldNumber = 1;

		// Token: 0x0400118D RID: 4493
		private uint level_;

		// Token: 0x0400118E RID: 4494
		public const int TidFieldNumber = 7;

		// Token: 0x0400118F RID: 4495
		private uint tid_;

		// Token: 0x04001190 RID: 4496
		public const int SubAffixListFieldNumber = 4;

		// Token: 0x04001191 RID: 4497
		private static readonly FieldCodec<RelicAffix> _repeated_subAffixList_codec = FieldCodec.ForMessage<RelicAffix>(34U, RelicAffix.Parser);

		// Token: 0x04001192 RID: 4498
		private readonly RepeatedField<RelicAffix> subAffixList_ = new RepeatedField<RelicAffix>();

		// Token: 0x04001193 RID: 4499
		public const int ExpFieldNumber = 3;

		// Token: 0x04001194 RID: 4500
		private uint exp_;

		// Token: 0x04001195 RID: 4501
		public const int TypeFieldNumber = 13;

		// Token: 0x04001196 RID: 4502
		private uint type_;

		// Token: 0x04001197 RID: 4503
		public const int MainAffixIdFieldNumber = 6;

		// Token: 0x04001198 RID: 4504
		private uint mainAffixId_;
	}
}
